package com.qunar.wan.common_api.service;


import com.qunar.wan.common_api.model.Classify;
import com.qunar.wan.common_api.model.SubClassify;

import java.util.List;

/**
 * Created by cyoung on 12/11/13.
 */
public interface CacheService {
    /***
     * 读取所有分类(大小分类一起)
     *
     * @return
     */
    List<Object> readAllClassisfiesCache();

    /***
     * 读取单个小类
     *
     * @param subId 小类ID
     * @return
     */
    SubClassify readSingleSubClassifyCache(int subId);

    /***
     * 读取单个大类
     *
     * @param claId 大类ID
     * @return
     */
    Classify readSingleClassifyCache(int claId);

    /***
     * 读取单个大类下所有小分类
     *
     * @param supId 大类ID
     * @return
     */
    List<SubClassify> readSubsCache(int supId);

    /***
     * 读取所有大类
     *
     * @return
     */
    List<Classify> readClasCache();

    // /*********
    // 缓存更新

    /***
     * 更新所有分类(大小分类一起)
     *
     * @return
     */
    void refreshAllClassisfiesCache();

    /***
     * 更新单个小类
     *
     * @param subId 小类ID
     * @return
     */
    void refreshSingleSubClassifyCache(int subId);

    /***
     * 更新单个大类
     *
     * @param claId 大类ID
     * @return
     */
    void refreshSingleClassifyCache(int claId);

    /***
     * 更新单个大类下所有小分类
     *
     * @param supId 大类ID
     * @return
     */
    void refreshSubsCache(int supId);

    /***
     * 更新所有大类
     *
     * @return
     */
    void refreshClasCache();

}
